import { AuthPage } from "@components/auth-page";
import { authProviderServer } from "@providers/auth-provider/auth-provider.server";
import { redirect } from "next/navigation";

/**
 * 登录页面组件
 * 处理用户认证状态检查并重定向已登录用户
 */
export default async function Login() {
  const data = await getData();
  if (data.authenticated) {
    redirect(data?.redirectTo || "/");
  }
  return <AuthPage type="login" />;
}

/**
 * 获取用户认证状态数据
 * 通过authProviderServer检查用户登录状态
 * @returns 包含认证状态、重定向URL和错误信息的对象
 */
async function getData() {
  const { authenticated, redirectTo, error } = await authProviderServer.check();
  return {
    authenticated,
    redirectTo,
    error,
  };
}

